package com.itheima.Anno;

import com.itheima.validation.StateValidation;
import jakarta.validation.Constraint;
import jakarta.validation.Payload;

import java.lang.annotation.*;


@Documented// 元注解，表示该注解会被包含在javadoc中，即帮助文档中
@Target({ElementType.FIELD})// 元注解，表示该注解可以应用的地方
@Retention(RetentionPolicy.RUNTIME)// 元注解，表示该注解会保留到什么时候

@Constraint(
        validatedBy = {StateValidation.class}// 指定提供校验规则的类
)// 用于指定实现了约束条件验证的类，即提供规则的类



public @interface State {
    // 提供校验失败后的提示信息
    String message() default "state参数的值只能是已发布或者草稿";


    // 指定分组
    Class<?>[] groups() default {};


    // 指定负载,获取到state注解的附加信息
    Class<? extends Payload>[] payload() default {};
}
